#ifndef _EXTENDED_STRING_H
#define _EXTENDED_STRING_H

class ExtendedString
{
public:
	ExtendedString();
	ExtendedString(const std::string& aString);
	ExtendedString(const char* aString);
	ExtendedString(const ExtendedString& aString);

	ExtendedString &operator=(const ExtendedString& aString);

	ExtendedString &operator+=(const ExtendedString& aString);

	operator std::string() const;
	const char* c_str() const;

	ExtendedString &operator<<(const std::string aString);
	ExtendedString &operator<<(const char* aString);
	ExtendedString &operator<<(const long aValue);
// 	String &operator<<(const double &aValue);
// 	String &operator<<(const unsigned int &aValue);
// 	String &operator<<(const int &aValue);
// 	String &operator<<(const char &aValue);


private:
	std::string myString;
};

#endif